package com.zj.service;

import com.zj.web.bean.MyUserDTO;
import com.zj.web.controller.AuthRequest;
import com.zj.web.controller.AuthResponse;

import java.util.List;
import java.util.Optional;

public interface UserService {
    /**
     * 用户合法
     */
    public static final Integer USER_STATUS_NORMAL = 1;
    /**
     * 用户禁用
     */
    public static final Integer USER_STATUS_DISABLE = 0;
    /**
     * 注册
     */
    MyUserDTO register(MyUserDTO myUserDTO);
    /**
     * 检查用户名是否存在
     */
    boolean checkUsername(String username);
    /**
     * 登录
     */
    AuthResponse login(AuthRequest authRequest);

    /**
     * 查询所有用户信息
     */
    List<MyUserDTO> getAllUser(Integer userStatus);

    /**
     * 根据用户id查询用户信息
     */
    Optional<MyUserDTO> getUserById(Long userId);
    /**
     * 根据用户id更新用户信息
     */
    public MyUserDTO updateUserStatus(Long userId,Integer userStatus);
    /**
     * 根据用户id更新用户信息
     */
    MyUserDTO updateUserInfo(Long userId, MyUserDTO myUserDTO);

    /**
     * 发送验证码
     */
    MyUserDTO sendVerifyCode(String username, String verifyCode);
}
